Finite-state concurrent programs can be expressed pairwise
نویسنده
چکیده
We present a pairwise normal form for finite-state shared memory concurrent programs: all variables are shared between exactly two processes, and the guards on transitions are conjunctions of conditions over this pairwise shared state. This representation has been used to efficiently (in polynomial time) synthesize and model-check correctness properties of concurrent programs. Our main result is that any finite state concurrent program can be transformed into pairwise normal form. Specifically, if Q is an arbitrary finite-state shared memory concurrent program, then there exists a finite-state shared memory concurrent program P expressed in pairwise normal form such that P is strongly bisimilar to Q. Our result is constructive: we give an algorithm for producing P , given Q.
منابع مشابه
Synthesis of Large Concurrent Programs via Pairwise Composition
We present a tractable method for synthesizing arbitrarily large concurrent programs from speciications expressed in temporal logic. Our method does not explicitly construct the global state transition diagram of the program to be synthesized, and thereby avoids state explosion. Instead, it constructs a state transition diagram for each pair of component processes (of the program) that interact...
متن کاملCompositional Abstraction for Concurrent Programs
We present a methodology for automatically constructing an abstraction of concurrent programs against safety specifications based on finite state machine. And then automatically extract an initial abstract model from source code using predicate abstraction and theorem proving. However, the process of extracting a finite model from a program using predicate abstraction can be exponential in the ...
متن کاملDesign and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic
We propose a method of constructing concurrent programs in which the synchronization skeleton of the program ~s automatically synthesized from a high-level (branching time) Temporal Logic specification. The synchronization skeleton is an abstraction of the actual program where detail irrelevant to synchronization is suppressed. For example, in the synchronization skeleton for a solution to the ...
متن کاملReasoning About Threads Communicating via Locks
We propose a new technique for the static analysis of concurrent programs comprised of multiple threads. In general, the problem is known to be undecidable even for programs with only two threads but where the threads communicate using CCS-style pairwise rendezvous [10]. However, in practice, a large fraction of concurrent programs can either be directly modeled as threads communicating solely ...
متن کاملPairwise Reachability Analysis for Higher Order Concurrent Programs by Higher-Order Model Checking
We propose a sound, complete, and automatic method for pairwise reachability analysis of higher-order concurrent programs with recursion, nested locks, joins, and dynamic thread creation. The method is based on a reduction to higher-order model checking (i.e., model checking of trees generated by higher-order recursion schemes). It can be considered an extension of Gawlitz et al.’s work on the ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/0801.0677 شماره
صفحات -
تاریخ انتشار 2008